package main

//
//import (
//	"container/list"
//	"fmt"
//)
//
//var cache map[int]string
//var lst *lst.List
//
//const CAP = 10
//
//func init() {
//	cache = make(map[int]string, CAP)
//	lst = list.New()
//}
//
//func readFormDisk(key int) string {
//	//从磁盘中读
//	return "china"
//}
//
//func read(key int) string {
//	if v, exists := cache[key]; exists {
//		head := lst.Front()
//		notFound :=false
//		for{
//			if head ==nil{
//				notFound =true
//				break
//			}
//			if head.Value.(int) ==key{
//				lst.MoveToFront(head)
//				break
//			}else{
//				head =head.Next()
//			}
//		}
//        if notFound{
//        	lst.PushFront(key)
//		}
//		return v
//	}else{
//		v =readFromDisk(key)
//		lst.PushFront(key)
//		if len(cache)>=CAP{
//			tail :=lst.Back()
//			delete(cache,tail.Value.(int))
//			lst.Remove(tail)
//		}
//		cache [key] =v
//		return v
//	}
//}
//
//
//func main(){
//	for i:=0;i<5;i++{
//		read(i)
//	}
//
//	for k,v :=range cache {
//		fmt.Printf("%d %s \n",k,v)
//	}
//
//	TraverseList(lst)
//}
